package appconfig

import (
	"fmt"
	"github.com/spf13/viper"
)

type AppConfig struct {
	Mysql Mysql `mapstructrue:"mysql" json:"mysql"`
	Redis Redis `mapstructrue:"redis" json:"redis"`
}

type Mysql struct {
	Name   string `mapstructrue:"name" json:"name"`
	Pwd    string `mapstructrue:"pwd" json:"pwd"`
	Host   string `mapstructrue:"host" json:"host"`
	Port   int    `mapstructrue:"port" json:"port"`
	Dbname string `mapstructrue:"dbname" json:"dbname"`
}

type Redis struct {
	Host     string `mapstructrue:"host" json:"host"`
	Port     int    `mapstructrue:"port" json:"port"`
	Password string `mapstructrue:"password" json:"password"`
	Db       string `mapstructrue:"db" json:"db"`
}

var AppData AppConfig

func InitAppConfig() {
	viper.SetConfigFile("./appconfig/appconfig.yaml")
	err := viper.ReadInConfig()
	if err != nil {
		fmt.Println("动态配置文件获取失败", err)
		return
	}
	viper.Unmarshal(&AppData)
	fmt.Println("动态配置文件获取成功", AppData)
}
